Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create abstraction around conversion facilities ECFLOW-1922 #45

Merged
merged 4 commits into from
Nov 14, 2023

Conversation

marcosbento
Copy link
Collaborator

These changes create a thin layer wrapper for conversions between basic types (e.g. std::string, int), allowing to encapsulate all uses of boost::lexical_cast.

@marcosbento marcosbento force-pushed the feature/type_conversion_wrapper branch from 3f12ac8 to 07b347e Compare October 26, 2023 12:05
@codecov-commenter
Copy link

Codecov Report

Attention: 79 lines in your changes are missing coverage. Please review.

Comparison is base (0c7aac9) 80.17% compared to head (07b347e) 80.14%.
Report is 3 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop      #45      +/-   ##
===========================================
- Coverage    80.17%   80.14%   -0.03%     
===========================================
  Files          575      577       +2     
  Lines        57874    57855      -19     
===========================================
- Hits         46399    46367      -32     
- Misses       11475    11488      +13     
Files Coverage Δ
ACore/src/Converter.hpp 100.00% <100.00%> (ø)
ACore/src/EcfPortLock.hpp 78.26% <ø> (-0.91%) ⬇️
ACore/src/Extract.cpp 100.00% <100.00%> (ø)
ACore/src/Str.cpp 95.78% <100.00%> (-0.02%) ⬇️
ACore/src/Str.hpp 100.00% <ø> (ø)
ACore/src/TimeSlot.cpp 84.37% <100.00%> (ø)
ACore/src/perf_timer.hpp 100.00% <ø> (ø)
ACore/test/TestCalendar.cpp 90.08% <ø> (-0.05%) ⬇️
ACore/test/TestClassDataMemberInit.cpp 100.00% <ø> (ø)
ACore/test/TestCommandLine.cpp 100.00% <100.00%> (ø)
... and 78 more

... and 2 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@marcosbento marcosbento force-pushed the feature/type_conversion_wrapper branch 2 times, most recently from f268433 to 07b347e Compare October 26, 2023 14:38
@marcosbento marcosbento changed the title Create abstraction around conversion facilities Create abstraction around conversion facilities ECFLOW-1922 Oct 31, 2023
These changes create a thin layer wrapper for conversions between basic types (e.g. std::string, int), allowing to encapsulate all uses of boost::lexical_cast.

Re ECFLOW-1922
These changes allow the user to introduce a template specialization converter_traits<From, To> thus specifying an additional conversion to be considered overall.

Re ECFLOW-1922
Global qualifier in struct/class name definition is accepted by Clang but not allowed in GCC (which apparently doesn't implement the correction of the C++ Core Issue 355, see https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3259.htm).
Removing the global qualifier solved the issue.

Re ECFLOW-1922
@marcosbento marcosbento force-pushed the feature/type_conversion_wrapper branch from 07b347e to 8c6d2b9 Compare November 14, 2023 11:28
@marcosbento marcosbento merged commit 80ff9b9 into develop Nov 14, 2023
48 checks passed
@marcosbento marcosbento deleted the feature/type_conversion_wrapper branch November 14, 2023 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants